int main()
 {
                print("This script lsits all the properties of the nuclide object. In addtion It shows how object methods can be used to generate new objects");
                print(" ");
                print("          object                    method                      new object");
                print("          --------                     ----------                       ---------------");
                print("          nuclide                   DecayInfo()                decayInfo");
                print("                                       PromptGamma()         promptGamma");
                print("                                       Radiations()                radiations");
                print("                                       CrossSections()          crossSections");
                print(" ");
	nuclide nuc; 	
                print("Enter the nuclide of interest. In the example below, the element symbol Th, isotope 232, and isomeric state 0 (ground state) have been selected"); 
	nuc.Create("Th", 232, 0);
 
 	print("Print all the properties of the nuclide object i.e. nuclide.Properties.... ");
                print (" ");
 	print("***** Nuclide data for "+ nuc.IsotopeScreenFormat + "******");
                print (" ");
                print("*****************************************Structure of the Table:***********************************************************************************************");
                print("Physical quantity (unit)                                                                               object.Property = value");
                print("*****************************************************************************************************************************************************************");
                print(" ");
                print("Isotope                                                                                                      nuc.IsotopeScreenFormat = " + nuc.IsotopeScreenFormat);
  	print("Atomic mass number                                                                                  nuc.A = " + nuc.A);

                if (nuc.A1 <= 0)
	print("Transport activity limit for special form radioactive material A1(TBq):                nuc.A1 =  UNLIMITED");
                else   	
                print("Transport activity limit for special form radioactive material A1(TBq):                nuc.A1 =  " + nuc.A1);

                if (nuc.A2 <= 0)
	print("Transport activity limit for normal form radioactive material A2(TBq):                nuc.A2 =  UNLIMITED");
                else   	
                print("Transport activity limit for normal form radioactive material A2(TBq):                nuc.A2 =  " + nuc.A2);

                if (nuc.A1 <= 0)
                print("            Mass (g) of nuclide corresponding to activity A1:                               nuc.MassA1 = UNLIMITED ");
                else 	
                print("            Mass (g) of nuclide corresponding to activity A1:                               nuc.MassA1 = " + format(nuc.MassA1,"0.00E00"));

                if (nuc.A2 <= 0)
                print("            Mass (g) of nuclide corresponding to activity A2:                               nuc.MassA2 = UNLIMITED ");
                else 	
                print("            Mass (g) of nuclide corresponding to activity A2:                               nuc.MassA2 = " + format(nuc.MassA2,"0.00E00"));

 	print("Natural Abundance (%):                                                                             nuc.AB = " +  nuc.AB);
 	print("            uncertainty                                                                                    nuc.DeltaAB = " +  nuc.DeltaAB);
	print("Annual Limit of Intake for Inhalation (Bq) :                                                    nuc.ALIInhalation = " + format(nuc.ALIInhalation,"0.00E00"));
	print("Annual Limit of Intake for Ingestion (Bq) :                                                     nuc.ALIIngestion = " + format(nuc.ALIIngestion,"0.00E00"));
                print(" ");
                print("The following atomic weight ratios AWR and AWR_C12 are not used in calculations. The atomic masses used in Nucleonica are given by nuc.Mass (see later)");
	print("AtomicWeight Ratio(rel to n)                                                                       nuc.AWR = " +  nuc.AWR);
	print("            uncertainty                                                                                    nuc.DeltaAWR = " +  format(nuc.DeltaAWR,"0.000E00"));
    	print("AtomicWeight Ratio(rel to C12)                                                                   nuc.AWR_C12 = " +  nuc.AWR_C12);
	print("            uncertainty)                                                                                   nuc.DeltaAWR_C12 = " +  format(nuc.DeltaAWR_C12,"0.000E00"));
                print(" ");
	print("BindingEnergy (MeV/nucleon):                                                                    nuc.BindingEnergy = " +  nuc.BindingEnergy);
 	print("Number of PromptGammas                                                                        nuc.CountPromptGammas = " + nuc.CountPromptGammas); 
             	print("Derived air concentration (Bq/m3):                                                              nuc.DAC = " + format(nuc.DAC,"0.00E00"));
	print("No. of daughters in the decay chain                                                            nuc.DecayInfos = " + nuc.DecayInfos);
 	print("Derived water concentration (Bq/litre):                                                         nuc.DWC = " + format(nuc.DWC,"0.00E00"));
	print("Effective Dose Coeffiicent EDC(ingestion) (Sv/Bq)                                        nuc.EDCIngestion = " +  nuc.EDCIngestion);
	print("Effective Dose Coeffiicent EDC(inhalation) (Sv/Bq)                                       nuc.EDCInhalation = " +  nuc.EDCInhalation);
	print("Mean decay energy per disintegration (alpha) (eV)                                       nuc.ERAlphaAV = " +  format(nuc.ERAlphaAV,"0.00E00"));
  	print("             uncertainty                                                                                  nuc.DeltaERAlphaAV = " +  nuc.DeltaERAlphaAV);
  	print("Mean decay energy per disintegration (beta) (eV)                                        nuc.ERBetaAV = " +  format(nuc.ERBetaAV,"0.00E00"));
  	print("             uncertainty                                                                                 nuc.DeltaERBetaAV = " +  nuc.DeltaERBetaAV);
	print("Mean decay energy per disintegration (gamma) (eV)                                   nuc.ERGammaAV = " +  format(nuc.ERGammaAV,"0.00E00"));
  	print("             uncertainty (MeV)                                                                       nuc.DeltaERGammaAV = " +  nuc.DeltaERGammaAV);
                print (" ");
	print("Element:                                                                                                 nuc.Element = " +  nuc.Element);
	print("Specific GammaDoseRate @ 1m (microSv/(MBq.h)):                                  nuc.GammaDoseRate = " + nuc.GammaDoseRate);
	print("Half-life(s):                                                                                               nuc.Halflife = " +  format(nuc.Halflife,"0.0000E00"));
	print("            uncertainty (s):                                                                            nuc.DeltaHalflife = " +  nuc.DeltaHalflife);
        	print("Isomer Mass Excess (eV)                                                                        nuc.IsoME = " +  nuc.IsoME);
       	print("             uncertainty                                                                                 nuc.DeltaIsoME = " +  nuc.DeltaIsoME);
 	print("Isotopic Power (alpha) (W/g):                                                                    nuc.IsoPowA = " + format(nuc.IsoPowA,"0.00E00"));
 	print("Isotopic Power (alpha + beta) (W/g):                                                          nuc.IsoPowAB = " + format(nuc.IsoPowAB,"0.00E00"));
 	print("Isotopic Power (alpha + beta + gamma) (W/g):                                           nuc.IsoPowABG = " + format(nuc.IsoPowABG,"0.00E00"));
                print("Isotope                                                                                                   nuc.IsotopeScreenFormat = " + nuc.IsotopeScreenFormat);
                print("Ground state (0) or metastable state (1,2,..)?                                             nuc.Liso = " + nuc.Liso);
	print("Atomic Mass (u):                                                                                    nuc.Mass = " +  nuc.Mass);
	print("            uncertainty (u)                                                                            nuc.DeltaMass = " +  nuc.DeltaMass);
	print("Mass Excess (eV):                                                                                 nuc.MassExcess = " +  nuc.MassExcess);
	print("            uncertainty (keV):                                                                       nuc.DeltaMassExcess = " +  nuc.DeltaMassExcess);
                print("Material Index                                                                                         nucMaterialIndex = "+ nuc.MaterialIndex);
                print("The MaxRTyp refers to the decay mode with the maximum branching ratio. Currently this property is not activated");
                print("MaxRTyp                                                                                               nuc.MaxRTyp = " + nuc.MaxRTyp);
	print("Mean Lifetime(s):                                                                                    nucMeanLifetime = " +  format(nuc.MeanLifetime,"0.00E00"));
	print("Parity (1 means +, 0 means -):                                                                nuc.Parity = " +  nuc.Parity);
	print("SpecificActivity (Bq/g):                                                                            nuc.SpecificActivity = " + format(nuc.SpecificActivity,"0.00E00"));
	print("Spin (in units of h bar):                                                                            nuc.SpinFraction = " +  nuc.SpinFraction);
	print("SpontaneousFissionRate (per second):                                                    nuc.SpontaneousFissionRate = " + format(nuc.SpontaneousFissionRate,"0.00E00"));
                print("is the nuclide stable? stable= 1, unstable=0:                                            nuc.Stable = " + nuc.Stable);
 	print("Atomic number Z:                                                                                  nuc.Z = " +  nuc.Z);
                print(" ");
	print("Some properties of the element........................................................................................................");
	print("(Note: a value -999 is a flag to denote that there is no value in the database) ");

	print("Density (solid g/cm3; gas g/l )                                                                 nuc.Density = " + nuc.Density);
	print("Triple Point (C):                                                                                      nuc.TriplePoint = " + nuc.TriplePoint);
	print("Melting Point (C):                                                                                    nuc.MeltingPoint = " + nuc.MeltingPoint);
	print("Boiling Point (C):                                                                                     nuc.BoilingPoint = " + nuc.BoilingPoint);
	print("CriticalPoint Point (C):                                                                             nuc.CriticalPoint = " + nuc.CriticalPoint);

	print(" ");
                print("Properties of the decay chain..........................................................................................................");
                print("For completeness the following properties from the decayinfo object are used");
	print("No. of daughters in the decay chain                                nuc.DecayInfos = " + nuc.DecayInfos);
                print(" ");
	int i;
                print("Define a new decayInfo object di.The properties of this new object are obtained from the nuc.DecayInfo(i) method");
                print("(a daughter value or Q-value of -1 flags that there is no data in the database)");
	for (i = 0; i < nuc.DecayInfos; i += 1)
	{
 	decayInfo di;
	di = nuc.DecayInfo(i);
                print("DecayMode                                                                 di.DecayMode = " + di.DecayMode);
                print("RTyp1                                                                         di.RTyp1 = " + format(di.RTyp1,"0"));
                print("RTyp2                                                                         di.RTyp2 = " + format(di.RTyp2,"0"));
                print("Branching Ratio                                                           di.BranchingRatio = " + format(di.BranchingRatio,"0.00E00"));
                print("Q-value  (eV)                                                               di.DecayEnergy = " + format(di.Energy,"0.00E00"));
                print("Daughter                                                                     di.Daughter = " + di.Daughter);
                print(" ");
	}

  	 	
 	print(" ");
 	print("***** Prompt gammas ******");
 	print("PromptGammas " + nuc.CountPromptGammas); 	
                print("Entry        Gamma  Energy        Energy Error           Sigma                Sigma Error                 K0                  K0 Error");	
                print("Define a new promptGamma object pg.The properties of this new object are obtained from the nuc.PromptGamma(i) method");
	promptGamma pg; 	
//print only first 10 prompt gammas 
 	for (i=0; i<10; i=i+1)
 	{ 	    
 		pg = nuc.PromptGamma(i); 
 	
 print("i =  " + i + "            " + pg.Gamma + "                       " + pg.GammaError + "                      " + pg.Sigma + "                  " + pg.SigmaError + "                  " + pg.KO + "             " + pg.KOError); 
 		//print("EText " + pg.EText); 
 		//print("SText " + pg.SText); 		 
 		//print("KText " + pg.KText); 
 		
 	}
 	
 	print(" ");
 	print("***** Radiations (0=gammas, 1=beta-, 2=ec/+, 3=alphas, 4=neutrons,  5=sf fragments, 6=p, 7=discrete electrons, 8= X-rays or annihilation radiation******");
 	int radType;
                print("Define a new radiations object rads.The properties of this new object are obtained from the nuc.Radiations(i) method");
 	for (radType=0; radType<=8; radType = radType + 1)
 	{
 		radiations rads;
 		rads = nuc.Radiations(radType); 		
 		print("Radiation type " + radType + " has " + rads.Count + " entries");
                                print(radType == 0 ? "GAMMAS" : radType == 1 ? "BETA-" : radType == 2 ? "EC/+" :  radType == 3 ? "ALPHAS" : radType == 4 ? "NEUTRONS" : radType == 5 ? "SF" : 
                                radType == 6 ? "Protons": radType == 7 ? "Discrete Electrons" : "X-rays or annihilation radiation");
                                print ("Entries                      Energy (eV)                                     Emission Probability");
 		for (i=0; i<rads.Count; i=i+1)
 		{
 		print(" i = "+ i + "                           rads.Energy(i) =  " + rads.Energy(i) + "               rads.Probability(i) = " + format(rads.Probability(i),"0.00E00"));
 		}
                print(" ");
	}
 	
 	print(" ");
 	print("***** Average cross sections (barn) ******");
 	int idxLib;
                print("Define a new crossSections object cs.The properties of this new object are obtained from the nuc.CrossSections(i) method"); 	
 	for (idxLib=0; idxLib<=4; idxLib = idxLib + 1)
 	{
 		crossSections cs;
 		cs = nuc.CrossSections(idxLib); 
                                print(" ");		 		
 		print(idxLib == 0 ? "JEF 2.2" : idxLib == 1 ? "BROND 2" : idxLib == 2 ? "ENDF/B VI" :  idxLib == 3 ? "JENDL 3.2" : "CENDL 2");
 		print("Reaction          2200ms-1           Maxw_Avg            Res_Integral           MeV_14               Fiss_Avg");
 		string s = "0.000                   ";
 		string reaction; 		
 		for (i=0; i<cs.Count; i = i + 1)
 		{ 			
 			reaction = cs.Reaction(i) + "                 ";
 		                reaction = reaction.Substring(0, 11);
 			print(reaction +"            " 
                                                 + (cs.m_per_s_2200(i)<= 0 ? "   ---                      " : format(cs.m_per_s_2200(i), s)) 
                                                 + (cs.Maxw_Avg(i)<= 0 ? "   ---                      " : format(cs.Maxw_Avg(i), s))
                                                 + (cs.Res_Integral(i)<= 0 ? "   ---                      " : format(cs.Res_Integral(i), s)) 
                                                 + (cs.MeV_14(i)<= 0 ? "   ---                      " : format(cs.MeV_14(i), s)) 
                                                 + (cs.Fiss_Avg(i)<= 0 ? "   ---                      " : format(cs.Fiss_Avg(i), s)));
 		}
 	}
 	
 }